
// edit for colsize 11
// 让字表link编辑的 absolute 在 overflow auto 之上浮动
// var $temp_dev = $("#parent_"+me.awesomplete.ul.id);
// console.log('temp_dev=', $temp_dev)
// if ($temp_dev.length === 0) {
// 	$temp_dev = $("<div class='awesomplete' id='parent_"+me.awesomplete.ul.id+"'></div>");
// 	$("body").append($temp_dev);
// }
// var $ul = $('#'+me.awesomplete.ul.id);
// $ul.appendTo($temp_dev);
// var $xy = $(me.awesomplete.input).offset();
// var $x = $xy.top + 40;
// var $y = $xy.left - 0;
// $temp_dev.css({
// 	'position': 'absolute', // 设置为绝对定位
// 	'z-index': '9999999999', // 设置一个较高的z-index值
// 	'top': $x +'px', // 根据需要设置top值
// 	'left': $y +'px', // 根据需要设置left值                
// });
// 浮动 end

frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlLink {
	make_input() {
		var me = this;
		$(`<div class="link-field ui-front" style="position: relative;">
			<input type="text" class="input-with-feedback form-control">
			<span class="link-btn">
				<a class="btn-open no-decoration" title="${__("Open Link")}">
					${frappe.utils.icon("arrow-right", "xs")}
				</a>
			</span>
		</div>`).prependTo(this.input_area);
		this.$input_area = $(this.input_area);
		this.$input = this.$input_area.find("input");
		this.$link = this.$input_area.find(".link-btn");
		this.$link_open = this.$link.find(".btn-open");
		this.set_input_attributes();
		this.$input.on("focus", function () {
			// edit for colsize 11
			// 让字表link编辑的 absolute 在 overflow auto 之上浮动
			var $temp_dev = $("#parent_"+me.awesomplete.ul.id);
			if ($temp_dev.length === 0) {
				$temp_dev = $("<div class='awesomplete' id='parent_"+me.awesomplete.ul.id+"'></div>");
				$("body").append($temp_dev);
			}
			var $ul = $('#'+me.awesomplete.ul.id);
			$ul.appendTo($temp_dev);
			var $xy = $(me.awesomplete.input).offset();
			var $x = $xy.top + 40;
			var $y = $xy.left - 0;
			$temp_dev.css({
				'position': 'absolute', // 设置为绝对定位
				'z-index': '9999999999', // 设置一个较高的z-index值
				'top': $x +'px', // 根据需要设置top值
				'left': $y +'px', // 根据需要设置left值                
			});
			// 浮动 end
			setTimeout(function () {
				if (me.$input.val() && me.get_options()) {
					let doctype = me.get_options();
					let name = me.get_input_value();
					me.$link.toggle(true);
					me.$link_open.attr("href", frappe.utils.get_form_link(doctype, name));
				}

				if (!me.$input.val()) {
					me.$input.val("").trigger("input");

					// hide link arrow to doctype if none is set
					me.$link.toggle(false);
				}
			}, 500);
		});
		this.$input.on("blur", function () {
			// if this disappears immediately, the user's click
			// does not register, hence timeout
			setTimeout(function () {
				me.$link.toggle(false);
			}, 500);
		});
		this.$input.attr("data-target", this.df.options);
		this.input = this.$input.get(0);
		this.has_input = true;
		this.translate_values = true;
		this.setup_buttons();
		this.setup_awesomeplete();
		this.bind_change_event();
	}
}
